package testBilletautomat;

// Vi bruger koden som vi fik fra slidet i timen

public class TjekBilletautomat2 {
	
	public static void main(String[] arg) {
	
		Billetautomat automat= new Billetautomat ();
		
		int antalFejl = 0;
		int retur;
		
//Indsæt negative beløb
	// Preconditions
	retur= 0; 
	automat.montørLogin("1234");
	if (automat.erMontør()!=true) { System.out.println("automat.montørLogin(1234)"); return;}
	automat.nulstil();
	if (automat.getAntalBilletterSolgt()!=0) { System.out.println("automat.nulstil()"); return;}
	automat.returpenge();
	if (automat.getBalance()!=0) { System.out.println("automat.returpenge()"); return;}
	automat.montørLogin("");
	if (automat. erMontør()!=false) { System.out.println("automat.montørLogin()"); return;}
	
		//Test 
		automat.indsætPenge(-10);
		
			//Postcondition
			retur = automat.getBalance();
			if(retur!=0) {
				antalFejl++;
				System.out.println("Fejl: Indsæt negativ beløb " + retur + "\n");


//Køb billet uden der er penge nok
//Preconditions				

retur= 0; 
automat.montørLogin("1234");
if (automat.erMontør()!=true) { System.out.println("automat.montørLogin(1234)"); return;}
automat.nulstil();
if (automat.getAntalBilletterSolgt()!=0) { System.out.println("automat.nulstil()"); return;}
automat.returpenge();
if (automat.getBalance()!=0) { System.out.println("automat.returpenge()"); return;}
automat.montørLogin("");
if (automat. erMontør()!=false) { System.out.println("automat.montørLogin()"); return;}

	//Test
	automat.udskrivBillet();
	
		//Postcondition
		if (automat.getBalance()<0);
		antalFejl++;
		System.out.println("Fejl: Der er negativ saldo på maskinen efter køb"+"\n");
		

// Montøren kan ændre prisen til noget negativt
// Preconditions

retur= 0; 
automat.montørLogin("1234");
if (automat.erMontør()!=true) { System.out.println("automat.montørLogin(1234)"); return;}
automat.nulstil();
if (automat.getAntalBilletterSolgt()!=0) { System.out.println("automat.nulstil()"); return;}
automat.returpenge();
if (automat.getBalance()!=0) { System.out.println("automat.returpenge()"); return;}

				
	//Test
	automat.setBilletpris(-10);
	
		//Postcondition
		if (automat.getBilletpris()<0);
		antalFejl++;
		System.out.println("Fejl: Prisen er blevet sat til noget negativt"+"\n");


//Alle kan ændre billetprisen
//Precondition

retur= 0; 
automat.montørLogin("1234");
if (automat.erMontør()!=true) { System.out.println("automat.montørLogin(1234)"); return;}
automat.nulstil();
if (automat.getAntalBilletterSolgt()!=0) { System.out.println("automat.nulstil()"); return;}
automat.returpenge();
if (automat.getBalance()!=0) { System.out.println("automat.returpenge()"); return;}
automat.montørLogin("");
if (automat. erMontør()!=false) { System.out.println("automat.montørLogin()"); return;}

	//Test
	automat.setBilletpris(20);
	
		//Postcondition
		if(automat.getBilletpris()!= 10);
		antalFejl++;
		System.out.println("Fejl: Billetprisen er blevet ændret uden en montør har været logget ind" +"\n");
		
//getTotal bliver forkert ved ændring af billetpris
//Preconditions
		
		retur= 0; 
		automat.montørLogin("1234");
		if (automat.erMontør()!=true) { System.out.println("automat.montørLogin(1234)"); return;}
		automat.nulstil();
		if (automat.getAntalBilletterSolgt()!=0) { System.out.println("automat.nulstil()"); return;}
		automat.returpenge();
		if (automat.getBalance()!=0) { System.out.println("automat.returpenge()"); return;}
		automat.montørLogin("");
		if (automat. erMontør()!=false) { System.out.println("automat.montørLogin()"); return;}		
		
		//Test
		automat.montørLogin("1234");
		
		automat.setBilletpris(10);
		
		automat.udskrivBillet();
		
		automat.setBilletpris(20);
		
		automat.udskrivBillet();
		
			//Postcondition
			if(automat.getTotal()!= 30)
			antalFejl++;
			System.out.println("Fejl: getTotal er forkert"+ "\n");
		
			//Antal Fejl Fundet
			System.out.println("Antal Fejl: " + antalFejl);
			
			}
	
	}
	
	

}
